This invention pertains generally to parallel/serial bus bridges, and more particularly to a sequencer used in a Universal Serial Bus to parallel port bridge.
This application is a continuation of Ser. No. 09/273,310 filed Mar. 19, 1999 in the name of In-System Design, Inc. and is herein incorporated by reference for all purposes.
The Universal Serial Bus (USB) is described in its current release in the Universal Serial Bus Specification Revision 1.1 and is envisioned as an industry standard for the connection of all peripherals to a personal computer or workstation. USB seeks to replace the various specialized connectors and communication formats utilized with keyboards, mice, joysticks, multimedia inputs and outputs, printers, external disk drives, external CD-ROM drives, modems, parallel ports, serial ports, network connections, and virtually any other type of peripheral, with a single universal cable and connector type and a common communication format. Some of the other features of USB are: a true plug-and-play architecture requiring no user configuration, flexibility, and low cost.
USB is a complete break from the pastxe2x80x94it provides no backward compatibility with previous communication interfaces. But many new users of USB-equipped computers have significant investments in non-USB peripherals such as parallel cable-interfaced printers. Rather than junking these legacy peripherals, many users would prefer to somehow utilize non-USB peripherals with USB-equipped computers. Several vendors have addressed this need by offering USB bridges, which convert USB signals to a legacy format and vice-versa.
The problem with using a USB bridge is that a substantial latency penalty is imposed by the USB hardware and software each time an instruction or data is transferred across the bridge between the USB bus and the peripheral. When a sequence of commands is conducted over the USB bus, the delay accumulates as each individual command is sent separately via a USB transaction over the Universal Serial Bus. As a result, long sequences of operations sent to the USB bridge create latency problems.
The present invention solves the latency problem by incorporating a sequencer into the USB bridge. The sequencer transfers a portion of the controlling intelligence to the parallel port side of a USB connection. This allows any latency penalty imposed by the USB hardware and software to be paid only once for any large set of instructions transferred across the USB bus, instead of once for each individual instruction transferred across the USB bus.
A Universal Serial Bus to parallel bus bridge according to the invention includes a Universal Serial Bus port that receives a serial bit stream of data and commands in a Universal Serial Bus protocol from a host computer. A parallel bus port on the bridge includes parallel port registers used to control access to a peripheral device. A USB core is coupled between the Universal Serial Bus port and the parallel bus port and converts data and commands between the Universal Serial Bus protocol and the parallel bus protocol.
The sequencer is coupled between the USB core and the parallel bus port. A sequence of sequencer commands is loaded into memory in the USB bridge and used by the sequencer to perform a sequence of parallel port operations. The sequencer performs the commands autonomously without intervention from the USB host computer. Because the host computer does not have to initiate a USB transaction for each individual parallel port operation, the sequence of operations is completed in a shorter amount of time.
The foregoing and other objects, features and advantages of the invention will become more readily apparent from the following detailed description of a preferred embodiment of the invention which proceeds with reference to the accompanying drawings.